package com.pengtu.gsj.entity.yh;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.pengtu.gsj.entity.base.IdEntity;

/**
 * 
 * 
 * Reconstruction
 * 
 * 2017年6月6日 上午11:57:37
 * @author lei
 * @version 1.0.0
 *
 */
@Entity
@Table(name = "T_YH_RECONSTRUCTION")
public class Reconstruction extends IdEntity {

	private static final long serialVersionUID = 1L;

	private String projectName; //项目名称
	
	private Double projectMileage; //项目里程
	
	private String projectType; //项目类型
	
	private String finished; //是否完成
	
	private Double totalInvestment; //总投资金额
	
	private String projectYear; //项目年份
	
	private Double subsidyAmount; //部补助金额
	
	private Double selfRaised; //省区市自筹金额
	
	private Date projectStartTime; //项目开始时间
	
	private Date projectEndTime; //项目结束时间
	
	private String projectContent; //项目实施内容
	
	private String rate; //配套资金比例
	
	private String remark;
	
	private Long count;
	
	public Reconstruction(){
		
	}
	
	public Reconstruction(String projectType, Long count) {
		this.projectType = projectType;
		this.count = count;
	}
	public Reconstruction(String projectType, String projectYear, Long count,Double totalInvestment, Double subsidyAmount, Double selfRaised) {
		this.projectType = projectType;
		this.projectYear = projectYear;
		this.count = count;
		this.totalInvestment = totalInvestment;
		this.subsidyAmount = subsidyAmount;
		this.selfRaised = selfRaised;
		this.rate = String.valueOf(selfRaised*100/totalInvestment);
	}
	
	public Reconstruction(String projectYear, Long count,Double totalInvestment, Double subsidyAmount, Double selfRaised) {
		this.projectYear = projectYear;
		this.count = count;
		this.totalInvestment = totalInvestment;
		this.subsidyAmount = subsidyAmount;
		this.selfRaised = selfRaised;
		this.rate = String.valueOf(selfRaised*100/totalInvestment);
	}

	@Column(name = "PROJECTNAME")
	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	@Column(name = "PROJECTMILEAGE")
	public Double getProjectMileage() {
		return projectMileage;
	}

	public void setProjectMileage(Double projectMileage) {
		this.projectMileage = projectMileage;
	}

	@Column(name = "PROJECTTYPE")
	public String getProjectType() {
		return projectType;
	}

	public void setProjectType(String projectType) {
		this.projectType = projectType;
	}

	@Column(name = "FINISHED")
	public String getFinished() {
		return finished;
	}

	public void setFinished(String finished) {
		this.finished = finished;
	}

	@Column(name = "TOTALINVESTMENT")
	public Double getTotalInvestment() {
		return totalInvestment;
	}

	public void setTotalInvestment(Double totalInvestment) {
		this.totalInvestment = totalInvestment;
	}

	@Column(name = "PROJECTYEAR")
	public String getProjectYear() {
		return projectYear;
	}

	public void setProjectYear(String projectYear) {
		this.projectYear = projectYear;
	}

	@Column(name = "SUBSIDYAMOUNT")
	public Double getSubsidyAmount() {
		return subsidyAmount;
	}

	public void setSubsidyAmount(Double subsidyAmount) {
		this.subsidyAmount = subsidyAmount;
	}

	@Column(name = "SELFRAISED")
	public Double getSelfRaised() {
		return selfRaised;
	}

	public void setSelfRaised(Double selfRaised) {
		this.selfRaised = selfRaised;
	}

	@Column(name = "PROJECTSTARTTIME")
	public Date getProjectStartTime() {
		return projectStartTime;
	}

	public void setProjectStartTime(Date projectStartTime) {
		this.projectStartTime = projectStartTime;
	}

	@Column(name = "PROJECTENDTIME")
	public Date getProjectEndTime() {
		return projectEndTime;
	}

	public void setProjectEndTime(Date projectEndTime) {
		this.projectEndTime = projectEndTime;
	}

	@Column(name = "PROJECTCONTENT")
	public String getProjectContent() {
		return projectContent;
	}

	public void setProjectContent(String projectContent) {
		this.projectContent = projectContent;
	}

	@Column(name = "REMARK")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "RATE")
	public String getRate() {
		return rate;
	}

	public void setRate(String rate) {
		this.rate = rate;
	}

	@Transient
	public Long getCount() {
		return count;
	}

	public void setCount(Long count) {
		this.count = count;
	}
	
	
	
	
}
